package org.class2table.core.dictionary;

public class Constants {

    //information_schema中的
    public static class INFORMATION_SCHEMA {

        public static class COLLATION {
            public static final String UTF8MB4_GENERAL_CI = "utf8mb4_general_ci";
        }

        public static class CHARACTER_SET {
            public static final String UTF8MB4 = "utf8mb4";
        }

        public static class NULL_ABLE {
            public static final String YES = "YES";
            public static final String NO = "NO";
        }

        public static class DATA_TYPE {
            public static final String TINYINT = "tinyint";
            public static final String BIGINT = "bigint";
            public static final String BIGINT_UNSIGNED = "bigint unsigned";
            public static final String VARCHAR = "varchar";
            public static final String CHAR = "char";
            public static final String TEXT = "text";
            public static final String LONGTEXT = "longtext";
            public static final String SMALLINT = "smallint";
            public static final String INT = "int";
            public static final String DOUBLE = "double";
            public static final String FLOAT = "float";
            public static final String DECIMAL = "decimal";
            public static final String DATE = "date";
            public static final String DATETIME = "datetime";
        }

        public static class COLUMN_KEY {
            public static final String PRI = "PRI";
            public static final String UNI = "UNI";
            public static final String MUL = "MUL";
        }

        public static class DEFAULT_COLUMN_TYPE {
            public static final String BIGINT_UNSIGNED = "bigint unsigned";
            public static final String VARCHAR255 = "varchar(255)";
            public static final String DECIMAL10_0 = "decimal(10,0)";
            public static final String DATE = "date";
            public static final String DATETIME = "datetime";
            public static final String INT = "int";
            public static final String FLOAT = "float";
            public static final String DOUBLE = "double";
            public static final String CHAR1 = "char(1)";
            public static final String TINYINT1 = "tinyint(1)";
            public static final String SMALLINT = "smallint";
        }

    }



    //sql中的
    public static class SQL {

        public static class KEYWORD{

            public static class NULLABLE{
                public static final String NULL = "NULL";
                public static final String NOT_NULL = "NOT NULL";
            }

            public static class DEFAULT {
                public static final String DEFAULT = "DEFAULT";
            }

            public static class COMMENT {
                public static final String COMMENT = "COMMENT";
            }

        }
    }

    //common
    public static class COMMON {
        public static final String apostrophe = "'";
        public static final String comma = ",";
        public static final String blankStr = "";
        public static final String backQuote = "`";
        public static final String blankSpace = " ";
        public static final String tab = "    ";
        public static final String enter = "\n";
        public static final String enter2 = "\n\n";
    }

    //枚举
    public enum OperationType {
        CREATE_TABLE,
        ADD_COLUMN,
        DROP_COLUMN,
        MODIFY_COLUMN,
        DROP_PRIMARY_KEY,
        ADD_PRIMARY_KEY
    }

}